//package com.test.tool.demo.websocket;
//
//import lombok.Getter;
//import lombok.Setter;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.data.redis.connection.Message;
//import org.springframework.data.redis.connection.MessageListener;
//import org.springframework.data.redis.connection.RedisConnectionFactory;
//import org.springframework.data.redis.listener.PatternTopic;
//import org.springframework.data.redis.listener.RedisMessageListenerContainer;
//import org.springframework.data.redis.listener.adapter.MessageListenerAdapter;
//
///**
// * @author 小八
// * @date 2022年04月26日9:23
// */
//@Configuration
//public class RedisConfig {
//
//    @Bean
//    RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory,
//                                            MessageListenerAdapter topicAdapter) {
//        RedisMessageListenerContainer container = new RedisMessageListenerContainer();
//        container.setConnectionFactory(connectionFactory);
//        //订阅了主题 webSocketMsgPush
//        container.addMessageListener(topicAdapter, new PatternTopic("webSocketMsgPush"));
//        return container;
//    }
//
//    /**
//     * 消息监听器适配器，绑定消息处理器
//     *
//     * @return
//     */
//    @Bean
//    MessageListenerAdapter topicAdapter(SocketMessageHandler socketMessageHandler) {
//        return new MessageListenerAdapter(new RedisListener(socketMessageHandler));
//    }
//
//}
//
//class RedisListener implements MessageListener {
//    @Getter @Setter
//    private SocketMessageHandler socketMessageHandler;
//
//    public RedisListener(SocketMessageHandler socketMessageHandler){
//        this.socketMessageHandler = socketMessageHandler;
//    }
//
//
//    @Override
//    public void onMessage(Message message, byte[] bytes) {
//        System.out.println("步骤1.监听到需要进行负载转发的消息：" + message.toString());
//        this.socketMessageHandler.send(message.toString());
//    }
//}